// 项目的实用功能模块： 
// md5加密、日期的生成、token令牌的使用、文件上传的处理。。。

// 导入
const jwt = require('jwt-simple')
const md5 = require("md5");
let key = "awgfdfhdfhgs34534￥@￥#%#￥%"; // md5的干扰值（加盐）
const moment = require("moment");

// 导出实用功能模块
module.exports = {
    md5: (str) => { // md5加密
        return md5(str + key);
    },
    getDate: () => { // 获取当前日期信息
        return moment().format("YYYY-MM-DD HH:mm:SS");
    },
    // 创造token
    encode:(payload,expired=60*60*24*15)=>{
        payload.exp = Date.now()/1000 + expired
        return jwt.encode(payload, key)
    },
    // 解密token
    decode:(token)=>{
        // 1. 成功
        // 2. 失败
        return new Promise((resolve, reject)=>{
            try{
                let payload = jwt.decode(token, key)
                resolve(payload)
            }catch(e){
                reject(e)
            }
        })
    }
}
/*
const md5 = require("md5");
const moment = require("moment");

console.log(md5("123"));

console.log(moment().format("YYYY-MM-DD HH:mm:SS"));
console.log(moment().format("YYYY年MM月DD日"));
console.log(moment().format("MM/DD/YYYY"));
*/